ci: stop e2e blaming PRs for the base branch's specs and for cancellations - #15660
ci: stop e2e blaming PRs for the base branch's specs and for cancellations#15660christian-byrne wants to merge 2 commits into
Conversation
pull_request.base.sha is fixed when the PR opens and does not follow the base branch, so a long-lived branch attributes every spec the base gained since then to itself. HEAD is refs/pull/N/merge, whose first parent is the base tip actually merged onto.
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 59 minutes Limit details: You’ve used the included review currently available. Your 93 included PR review attempts over the past 7 days set your current allowance at 1 review per hour. Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?Wait for the limit to reset, then comment An organization admin can change what happens after included review limits in Billing. How do review limits work?CodeRabbit enforces per-developer PR review limits within each organization. For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
Comment |
🎭 Playwright: ✅ 1984 passed, 0 failed📊 Browser Reports
📦 Bundle: 9.11 MB gzip ⚪ 0 BDetailsSummary
Category Glance App Entry Points — 3.71 kB (baseline 3.71 kB) • ⚪ 0 BMain entry bundles and manifests Status: 1 unchanged Graph Workspace — 1.38 MB (baseline 1.38 MB) • ⚪ 0 BGraph editor runtime, canvas, workflow orchestration Status: 3 unchanged Views & Navigation — 124 kB (baseline 124 kB) • ⚪ 0 BTop-level views, pages, and routed surfaces Status: 17 unchanged Panels & Settings — 591 kB (baseline 591 kB) • ⚪ 0 BConfiguration panels, inspectors, and settings screens Status: 27 unchanged User & Accounts — 27.5 kB (baseline 27.5 kB) • ⚪ 0 BAuthentication, profile, and account management bundles Status: 11 unchanged Editors & Dialogs — 125 kB (baseline 125 kB) • ⚪ 0 BModals, dialogs, drawers, and in-app editors Status: 8 unchanged UI Components — 67.1 kB (baseline 67.1 kB) • ⚪ 0 BReusable component library chunks Status: 14 unchanged Data & Services — 3.53 MB (baseline 3.53 MB) • ⚪ 0 BStores, services, APIs, and repositories Status: 17 unchanged Utilities & Hooks — 549 kB (baseline 549 kB) • ⚪ 0 BHelpers, composables, and utility bundles Status: 37 unchanged Vendor & Third-Party — 18.1 MB (baseline 18.1 MB) • ⚪ 0 BExternal libraries and shared vendor chunks Status: 18 unchanged Other — 14.1 MB (baseline 14.1 MB) • ⚪ 0 BBundles that do not match a named category Status: 285 unchanged ⚡ Performance Report
Show regressions
All metrics
Historical variance (last 15 runs)
Trend (last 15 commits on main)
Raw data{
"timestamp": "2026-08-23T01:47:05.481Z",
"gitSha": "b446cda167a844289f6cbdc59fa6547fb7f4c3f5",
"branch": "ci/new-spec-detection-base",
"measurements": [
{
"name": "canvas-idle",
"durationMs": 2058.113999999989,
"styleRecalcs": 8,
"styleRecalcDurationMs": 7.739999999999997,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 524.929,
"heapDeltaBytes": 6693680,
"heapUsedBytes": 67969320,
"domNodes": -282,
"jsHeapTotalBytes": 5496832,
"scriptDurationMs": 10.73,
"eventListeners": -181,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333332,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "canvas-idle",
"durationMs": 2032.948000000033,
"styleRecalcs": 9,
"styleRecalcDurationMs": 6.415000000000001,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 461.53900000000004,
"heapDeltaBytes": 11054540,
"heapUsedBytes": 73379720,
"domNodes": -282,
"jsHeapTotalBytes": 4972544,
"scriptDurationMs": 6.6880000000000015,
"eventListeners": -153,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "canvas-mouse-sweep",
"durationMs": 1863.770000000045,
"styleRecalcs": 75,
"styleRecalcDurationMs": 37.618,
"layouts": 12,
"layoutDurationMs": 3.5439999999999996,
"taskDurationMs": 946.1460000000001,
"heapDeltaBytes": 11223448,
"heapUsedBytes": 73647172,
"domNodes": -280,
"jsHeapTotalBytes": 5758976,
"scriptDurationMs": 104.378,
"eventListeners": -181,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333332,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "canvas-mouse-sweep",
"durationMs": 1795.3670000000557,
"styleRecalcs": 72,
"styleRecalcDurationMs": 32.739000000000004,
"layouts": 12,
"layoutDurationMs": 3.6939999999999995,
"taskDurationMs": 795.045,
"heapDeltaBytes": 7719728,
"heapUsedBytes": 70091608,
"domNodes": -282,
"jsHeapTotalBytes": 4972544,
"scriptDurationMs": 90.013,
"eventListeners": -181,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333335,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "canvas-zoom-sweep",
"durationMs": 1660.1420000000076,
"styleRecalcs": 29,
"styleRecalcDurationMs": 14.404,
"layouts": 6,
"layoutDurationMs": 0.696,
"taskDurationMs": 324.44700000000006,
"heapDeltaBytes": 3068840,
"heapUsedBytes": 64588448,
"domNodes": 77,
"jsHeapTotalBytes": 4718592,
"scriptDurationMs": 9.031999999999998,
"eventListeners": 19,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "canvas-zoom-sweep",
"durationMs": 1668.109999999956,
"styleRecalcs": 29,
"styleRecalcDurationMs": 13.295,
"layouts": 6,
"layoutDurationMs": 0.5870000000000001,
"taskDurationMs": 326.777,
"heapDeltaBytes": 3276004,
"heapUsedBytes": 65686904,
"domNodes": 76,
"jsHeapTotalBytes": 5242880,
"scriptDurationMs": 9.154,
"eventListeners": 19,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333335,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "dom-widget-clipping",
"durationMs": 593.4149999999931,
"styleRecalcs": 11,
"styleRecalcDurationMs": 7.688000000000001,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 383.95900000000006,
"heapDeltaBytes": 10903152,
"heapUsedBytes": 73560580,
"domNodes": 18,
"jsHeapTotalBytes": 4456448,
"scriptDurationMs": 55.84700000000001,
"eventListeners": 2,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333332,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "dom-widget-clipping",
"durationMs": 563.4870000000092,
"styleRecalcs": 12,
"styleRecalcDurationMs": 7.072,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 333.149,
"heapDeltaBytes": 9682628,
"heapUsedBytes": 71978196,
"domNodes": 20,
"jsHeapTotalBytes": 4718592,
"scriptDurationMs": 44.841,
"eventListeners": 2,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.670000000000012,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "large-graph-idle",
"durationMs": 2055.4859999999735,
"styleRecalcs": 8,
"styleRecalcDurationMs": 8.292000000000002,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 647.426,
"heapDeltaBytes": -1639144,
"heapUsedBytes": 75086692,
"domNodes": -270,
"jsHeapTotalBytes": -1576960,
"scriptDurationMs": 15.016000000000002,
"eventListeners": -147,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.670000000000012,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "large-graph-idle",
"durationMs": 2040.587999999957,
"styleRecalcs": 10,
"styleRecalcDurationMs": 11.057,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 572.5989999999999,
"heapDeltaBytes": -871652,
"heapUsedBytes": 75928904,
"domNodes": -261,
"jsHeapTotalBytes": -1576960,
"scriptDurationMs": 15.36,
"eventListeners": -147,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.699999999999818
},
{
"name": "large-graph-pan",
"durationMs": 2168.4779999999932,
"styleRecalcs": 69,
"styleRecalcDurationMs": 16.246999999999996,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 1258.038,
"heapDeltaBytes": -13096536,
"heapUsedBytes": 63731108,
"domNodes": -284,
"jsHeapTotalBytes": 258048,
"scriptDurationMs": 337.97299999999996,
"eventListeners": -177,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "large-graph-pan",
"durationMs": 2119.6410000000014,
"styleRecalcs": 67,
"styleRecalcDurationMs": 11.953999999999999,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 1068.789,
"heapDeltaBytes": -5901016,
"heapUsedBytes": 71720588,
"domNodes": -280,
"jsHeapTotalBytes": -1089536,
"scriptDurationMs": 279.26,
"eventListeners": -147,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333332,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "large-graph-zoom",
"durationMs": 3172.255000000007,
"styleRecalcs": 64,
"styleRecalcDurationMs": 14.971000000000002,
"layouts": 60,
"layoutDurationMs": 8.581999999999999,
"taskDurationMs": 1309.592,
"heapDeltaBytes": -12574568,
"heapUsedBytes": 65352336,
"domNodes": -288,
"jsHeapTotalBytes": 6025216,
"scriptDurationMs": 345.63300000000004,
"eventListeners": -183,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "large-graph-zoom",
"durationMs": 3079.872999999907,
"styleRecalcs": 63,
"styleRecalcDurationMs": 12.684000000000001,
"layouts": 60,
"layoutDurationMs": 7.747999999999999,
"taskDurationMs": 1231.708,
"heapDeltaBytes": -1760724,
"heapUsedBytes": 77288600,
"domNodes": -278,
"jsHeapTotalBytes": -2101248,
"scriptDurationMs": 323.71,
"eventListeners": -145,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333335,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "legacy-node-drag",
"durationMs": 2170.5089999999814,
"styleRecalcs": 47,
"styleRecalcDurationMs": 10.677,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 1336.284,
"heapDeltaBytes": -14979608,
"heapUsedBytes": 70203516,
"domNodes": 14,
"jsHeapTotalBytes": 8687616,
"scriptDurationMs": 402.95200000000006,
"eventListeners": 186,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "legacy-node-drag",
"durationMs": 2151.0379999999714,
"styleRecalcs": 47,
"styleRecalcDurationMs": 8.926999999999998,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 1219.335,
"heapDeltaBytes": -14925824,
"heapUsedBytes": 70203360,
"domNodes": 14,
"jsHeapTotalBytes": 8163328,
"scriptDurationMs": 370.99,
"eventListeners": 186,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "minimap-idle",
"durationMs": 2022.9889999999955,
"styleRecalcs": 6,
"styleRecalcDurationMs": 4.4289999999999985,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 558.273,
"heapDeltaBytes": -13087388,
"heapUsedBytes": 64549632,
"domNodes": -285,
"jsHeapTotalBytes": 4452352,
"scriptDurationMs": 15.335,
"eventListeners": -177,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.699999999999818
},
{
"name": "minimap-idle",
"durationMs": 2047.0940000000155,
"styleRecalcs": 7,
"styleRecalcDurationMs": 5.417000000000002,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 565.3030000000001,
"heapDeltaBytes": -4496912,
"heapUsedBytes": 74021640,
"domNodes": -276,
"jsHeapTotalBytes": -1314816,
"scriptDurationMs": 13.848999999999997,
"eventListeners": -147,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "subgraph-dom-widget-clipping",
"durationMs": 537.2980000000211,
"styleRecalcs": 46,
"styleRecalcDurationMs": 8.224999999999998,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 341.52,
"heapDeltaBytes": 11408416,
"heapUsedBytes": 74187628,
"domNodes": 18,
"jsHeapTotalBytes": 4718592,
"scriptDurationMs": 100.04199999999999,
"eventListeners": 6,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66999999999998,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "subgraph-dom-widget-clipping",
"durationMs": 525.714999999991,
"styleRecalcs": 47,
"styleRecalcDurationMs": 8.855,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 340.688,
"heapDeltaBytes": 11458264,
"heapUsedBytes": 74203484,
"domNodes": 20,
"jsHeapTotalBytes": 4718592,
"scriptDurationMs": 101.26,
"eventListeners": 8,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333332,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "subgraph-idle",
"durationMs": 1993.3230000000322,
"styleRecalcs": 9,
"styleRecalcDurationMs": 6.967,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 521.9069999999999,
"heapDeltaBytes": -4115244,
"heapUsedBytes": 58359268,
"domNodes": -281,
"jsHeapTotalBytes": 4710400,
"scriptDurationMs": 9.472000000000001,
"eventListeners": -149,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333335,
"p95FrameDurationMs": 16.699999999999818
},
{
"name": "subgraph-idle",
"durationMs": 2005.2859999999555,
"styleRecalcs": 9,
"styleRecalcDurationMs": 5.982000000000001,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 449.02000000000004,
"heapDeltaBytes": 17800220,
"heapUsedBytes": 80551992,
"domNodes": -281,
"jsHeapTotalBytes": 4186112,
"scriptDurationMs": 6.609999999999999,
"eventListeners": -153,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "subgraph-mouse-sweep",
"durationMs": 1807.9869999999687,
"styleRecalcs": 75,
"styleRecalcDurationMs": 43.18599999999999,
"layouts": 16,
"layoutDurationMs": 8.062,
"taskDurationMs": 893.3319999999999,
"heapDeltaBytes": 19648684,
"heapUsedBytes": 81909156,
"domNodes": -282,
"jsHeapTotalBytes": 5758976,
"scriptDurationMs": 83.57000000000001,
"eventListeners": -151,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66999999999998,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "subgraph-mouse-sweep",
"durationMs": 1699.0819999999758,
"styleRecalcs": 75,
"styleRecalcDurationMs": 30.715,
"layouts": 16,
"layoutDurationMs": 3.896,
"taskDurationMs": 717.2819999999999,
"heapDeltaBytes": -4796512,
"heapUsedBytes": 57755508,
"domNodes": -281,
"jsHeapTotalBytes": 5758976,
"scriptDurationMs": 68.51,
"eventListeners": -151,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333335,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "subgraph-transition-enter",
"durationMs": 998.8200000000234,
"styleRecalcs": 19,
"styleRecalcDurationMs": 27.50500000000001,
"layouts": 14,
"layoutDurationMs": 10.698,
"taskDurationMs": 777.6539999999999,
"heapDeltaBytes": -7819448,
"heapUsedBytes": 88624420,
"domNodes": 13673,
"jsHeapTotalBytes": 13369344,
"scriptDurationMs": 13.385000000000002,
"eventListeners": 2373,
"totalBlockingTimeMs": 126,
"frameDurationMs": 16.66333333333332,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "viewport-pan-sweep",
"durationMs": 8193.498999999974,
"styleRecalcs": 250,
"styleRecalcDurationMs": 42.06,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 3993.4190000000003,
"heapDeltaBytes": 15700080,
"heapUsedBytes": 91475340,
"domNodes": -283,
"jsHeapTotalBytes": 4677632,
"scriptDurationMs": 975.3710000000001,
"eventListeners": -163,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "viewport-pan-sweep",
"durationMs": 8164.8819999999205,
"styleRecalcs": 250,
"styleRecalcDurationMs": 35.834,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 3705.727,
"heapDeltaBytes": 15650492,
"heapUsedBytes": 91415560,
"domNodes": -282,
"jsHeapTotalBytes": 4939776,
"scriptDurationMs": 885.596,
"eventListeners": -163,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "vue-large-graph-idle",
"durationMs": 14382.361000000003,
"styleRecalcs": 0,
"styleRecalcDurationMs": 0,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 13273.505000000001,
"heapDeltaBytes": -43759184,
"heapUsedBytes": 182249696,
"domNodes": -8312,
"jsHeapTotalBytes": -8663040,
"scriptDurationMs": 103.19399999999999,
"eventListeners": -16391,
"totalBlockingTimeMs": 0,
"frameDurationMs": 17.223333333333358,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "vue-large-graph-idle",
"durationMs": 15155.590000000075,
"styleRecalcs": 0,
"styleRecalcDurationMs": 0,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 14231.874000000002,
"heapDeltaBytes": -41471104,
"heapUsedBytes": 176812476,
"domNodes": -8312,
"jsHeapTotalBytes": -23465984,
"scriptDurationMs": 111.501,
"eventListeners": -16391,
"totalBlockingTimeMs": 0,
"frameDurationMs": 17.776666666666642,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "vue-large-graph-pan",
"durationMs": 17481.094999999983,
"styleRecalcs": 152,
"styleRecalcDurationMs": 18.783000000000023,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 16878.75,
"heapDeltaBytes": -25561960,
"heapUsedBytes": 192711984,
"domNodes": -8316,
"jsHeapTotalBytes": -23097344,
"scriptDurationMs": 391.195,
"eventListeners": -16389,
"totalBlockingTimeMs": 118,
"frameDurationMs": 17.776666666666642,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "vue-large-graph-pan",
"durationMs": 17576.337999999963,
"styleRecalcs": 154,
"styleRecalcDurationMs": 19.588999999999995,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 17057.778,
"heapDeltaBytes": -25035368,
"heapUsedBytes": 192437236,
"domNodes": -8312,
"jsHeapTotalBytes": -19828736,
"scriptDurationMs": 422.51199999999994,
"eventListeners": -16391,
"totalBlockingTimeMs": 6,
"frameDurationMs": 17.219999999999953,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "workflow-execution",
"durationMs": 462.90699999997287,
"styleRecalcs": 13,
"styleRecalcDurationMs": 18.183999999999997,
"layouts": 2,
"layoutDurationMs": 0.5219999999999999,
"taskDurationMs": 103.48900000000002,
"heapDeltaBytes": 4948292,
"heapUsedBytes": 67144076,
"domNodes": 126,
"jsHeapTotalBytes": 0,
"scriptDurationMs": 7.1309999999999985,
"eventListeners": 97,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "workflow-execution",
"durationMs": 93.69899999990139,
"styleRecalcs": 6,
"styleRecalcDurationMs": 10.009,
"layouts": 2,
"layoutDurationMs": 0.5020000000000001,
"taskDurationMs": 60.46499999999999,
"heapDeltaBytes": 3040384,
"heapUsedBytes": 64245444,
"domNodes": 106,
"jsHeapTotalBytes": 524288,
"scriptDurationMs": 3.6760000000000006,
"eventListeners": 49,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.663333333333338,
"p95FrameDurationMs": 16.799999999999272
}
]
} |
A cancelled run lands in the failure branch, so e2e-status prints 'E2E failed' and a required check goes red for something that never ran. Still exits non-zero, since merging without e2e would be a false green. Also echoes the three job results, which the old message omitted.
Codecov Report✅ All modified and coverable lines are covered by tests. @@ Coverage Diff @@
## main #15660 +/- ##
==========================================
+ Coverage 79.38% 81.86% +2.48%
==========================================
Files 2217 1887 -330
Lines 112241 107235 -5006
Branches 35106 34384 -722
==========================================
- Hits 89100 87787 -1313
+ Misses 22662 19108 -3554
+ Partials 479 340 -139
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
Two defects in
ci-tests-e2e.yamlthat both made this workflow blame a PR for something it did not do. Same file, so they are one PR.1. New-spec detection uses a base that never moves
playwright-video-new-testsruns the spec files a PR adds. On a branch whose base is stale it instead runs specs other people merged, and fails on them.github.event.pull_request.base.shais recorded when the PR opens and does not advance with the base branch.actions/checkoutleavesHEADatrefs/pull/N/merge, which already contains everything the base gained since. Three-dot diffing the merge commit against that frozen SHA therefore reports the base's own additions as added by the PR.Measured on #14073, using the exact merge commit from its run (
a580416262, logged asMerge 957bfb36d2 into b2d6e414df), branch point 2026-07-23:git diff --diff-filter=A $BASE_SHA...HEAD(before)git diff --diff-filter=A HEAD^1 HEAD(after)22 matches that run's
NEW_SPEC_FILESlist exactly, and 0 is correct — 14073 modifiespreviewAsText.spec.tsand adds no spec. The job failed onsubgraphResizePreservation.spec.ts, which came from #14461. Rebasing "fixed" it, which is why this reads as flakiness rather than a bug. It gets worse the longer a branch lives.2. A cancelled run is reported as a failed one
e2e-statusfunnelscancelledinto the same branch asfailureand printsE2E failed. Sincee2e-statusis a required check, a cancelled run leaves a red required check with a message asserting the tests failed. On 14073 this cost real time chasing a failure that never happened — run31986467016was cancelled 50s in, and the PR looked broken.Still exits non-zero: merging without e2e having run would be a false green. Only the diagnosis changes, plus the three job results are now echoed — the old message named none of them, so you could not tell which leg failed without opening the run.
upload-e2e-coveragealready special-casescancelled, so the distinction exists in this file; the status gate just did not make it.Verified across all five outcomes (all-green, video-skipped, real failure, cancelled, should-run false) — exit codes unchanged except that cancelled now says so.